<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>HTML5常用属性</title>
  </head>

  <body>
    <!-- 1）formaction：修改action数据提交的地方 -->
    <form action="//baidu.com"> 
      <input type="submit" formaction="163.com" />
    </form>

    <!-- 2）formenctype 修改表单请求的类型 -->
    <form action="#" enctype="application/x-www-form-urlencoded">
      <!--application/x-www-form-urlencoded:普通表单类型-->
      <input type="submit" formenctype="multipart/form-data" />
      <!--multipart/form-data:文件上传的类型-->
    </form>
    <!-- 3）formmethod：修改数据提交的方法 -->
    <!-- 常用的提交方式有：get和post两种。他们的区别：
            1）get是以字节为单位提交只接受ASCII，而post是以字符为单位提交
            2）get是以明文方式，提交的数据会显示在地址栏中，一般不用来传输一些敏感的数据，因为传输的数据暴露在外边了，而post是暗文方式提交不会显示在地址栏中
            3）get在浏览器中回退是无害的，而post会再次提交请求
            4）get会被浏览器主动缓存，而post不会，除非手动设置
            5）get和post在传输字节数上一般没有限制，个别浏览器会有，可以理解为get一般不超过2K，而post一般不超过2M
    -->
    <form action="#" method="get">
      <!--默认是以get方式发请求-->
      <input type="text" name="username" />
      <input type="submit" formmethod="post" />
    </form>

    <!-- ​	4）form：设置表单元素属于哪个表单 -->
    <form action="3" method="get" id="user-info">
      <input type="text" name="username" />
      <input type="submit" />
    </form>
    <form action="3" method="get" id="student-info">
      <input type="text" name="username" />
      <input type="submit" />
    </form>
    <input
      type="password"
      name="userpwd"
      form="user-info"
    /><!--设置该表单元素属于user-info表单-->

    <!-- 5）novalidate：不验证 -->
    <form action="#" novalidate>
      <input type="email" name="useremail" />
      <input type="submit" />
    </form>
  </body>
</html>
